//package com.walk.zworld.ui.activity;
//
//import android.content.Context;
//import android.content.Intent;
//import android.os.Handler;
//import android.os.Looper;
//import android.text.TextUtils;
//import android.view.View;
//import android.widget.ImageView;
//
//import androidx.constraintlayout.widget.ConstraintLayout;
//import androidx.recyclerview.widget.RecyclerView;
//import androidx.viewpager2.widget.ViewPager2;
//
//import com.chad.library.adapter.base.BaseQuickAdapter;
//import com.chad.library.adapter.base.viewholder.BaseViewHolder;
//import com.shuyu.gsyvideoplayer.GSYVideoManager;
//import com.shuyu.gsyvideoplayer.video.base.GSYVideoView;
//import com.walk.zworld.R;
//import com.walk.zworld.ui.fragment.video.model.AtUser;
//import com.walk.zworld.ui.fragment.video.model.CommentModel;
//import com.walk.zworld.ui.fragment.video.model.DtDetailModel;
//import com.walk.zworld.view.MyGsyVideo2;
//import com.base.lib.base.view.BaseActivity;
//
//import org.greenrobot.eventbus.Subscribe;
//import org.greenrobot.eventbus.ThreadMode;
//
//import java.util.List;
//
///**
// * 视频播放详情
// */
//public class YouDetailVideoActivity extends BaseActivity implements View.OnClickListener {
//
//    private ConstraintLayout clRoot;
//    private ViewPager2 viewPager2;
//    private VideoAdapter videoAdapter;
//    private int mPosition = 0;
//    private RecyclerView.LayoutManager layoutManager;
//    private View flTitle;
//    private ImageView ivBack;
//    private String firstId;
//    private ImageView ivDot;
//
//    /**
//     * @param id 视频帖子id
//     */
//    public static void launch(Context context, String id) {
//        Intent intent = new Intent(context, YouDetailVideoActivity.class);
//        intent.putExtra("id", id);
//        context.startActivity(intent);
//    }
//
//    @Override
//    protected boolean isUseEvent() {
//        return true;
//    }
//
//    @Override
//    public int getLayoutId() {
//        return R.layout.activity_dt_detail_video;
//    }
//
//    @Override
//    public void initView() {
//        compatStatusBar(false);
//        setWindowStatusTransparent(this);
//        clRoot = findViewById(R.id.clRoot);
//        viewPager2 = findViewById(R.id.viewPager2);
//        flTitle = findViewById(R.id.flTitle);
//        ivBack = findViewById(R.id.ivBack);
//        ivDot = findViewById(R.id.ivDot);
//        MetricsUtils.compatTitlePadding(mContext, flTitle);
//        UiUtils.fixViewPager2Rv(viewPager2);
//        videoAdapter = new VideoAdapter();
//        viewPager2.setAdapter(videoAdapter);
//        RecyclerView recyclerView = (RecyclerView) viewPager2.getChildAt(0);
//        layoutManager = recyclerView.getLayoutManager();
//        viewPager2.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
//            @Override
//            public void onPageSelected(int position) {
//                mPosition = position;
//                super.onPageSelected(position);
//                //LogUtils.e("position --" + position + ":" + layoutManager.getChildCount());
//                startVideo();
//                setDotViewState();
//            }
//
//
//        });
//
//    }
//
//
//
//    /**
//     * 设置3个点是否显示
//     */
//    private void setDotViewState() {
//        List<DtDetailModel> data = videoAdapter.getData();
//        if(data!=null && data.size()>mPosition && UserCache.getInstance().isLogin()){
//            DtDetailModel curr = data.get(mPosition);
//            //是自己创建的动态则显示3个点操作按钮
//            if (TextUtils.equals(curr.createUser,UserCache.getInstance().getUserId())){
//                ivDot.setVisibility(View.VISIBLE);
//            }else {
//                ivDot.setVisibility(View.GONE);
//            }
//        }else {
//            ivDot.setVisibility(View.GONE);
//        }
//    }
//
//    @Override
//    public void initData() {
//        setLoadSir(clRoot);
//        firstId = getIntent().getStringExtra("id");
//        getFirstVideoData();
//    }
//
//
//    /**
//     * 获取第一个视频详情数据
//     */
//    private void getFirstVideoData() {
//        SheQuHttpService.getPicDetail(mContext, firstId, new HttpCallback<DtDetailModel>() {
//            @Override
//            public void onSuccess(DtDetailModel data) {
//                if(data==null){
//                    ToastUtils.show("该内容不存在");
//                    finish();
//                    return;
//                }
//                videoAdapter.addData(data);
//                showContent();
//                getRandomVideoListData();
//            }
//
//            @Override
//            public void onError(Throwable e) {
//                showError();
//            }
//        });
//    }
//
//    /**
//     * 获取随机视频列表数据
//     */
//    private void getRandomVideoListData() {
//        SheQuHttpService.getRandomVideoList(mContext, firstId, new HttpCallback<List<DtDetailModel>>() {
//            @Override
//            public void onSuccess(List<DtDetailModel> data) {
//                if(data!=null && data.size()>0) {
//                    videoAdapter.addData(data);
//                }
//            }
//        });
//    }
//
//
//    @Override
//    public void initEvent() {
//        ivBack.setOnClickListener(this);
//        ivDot.setOnClickListener(this);
//
//        //点击评论
//        videoAdapter.setClickCommentListener(new DtVideoContentView.OnClickCommentListener() {
//            @Override
//            public void onClick(DtDetailModel model) {
//                VideoCommentListDialog commentListDialog= new VideoCommentListDialog();
//                commentListDialog.setData(mPosition, model);
//                commentListDialog.setRefreshVideoListener(new VideoCommentListDialog.RefreshVideoListener() {
//                    @Override
//                    public void onNeedRefresh(int position,DtDetailModel model) {
//                        changListItemUi(position,model);
//                    }
//                });
//                commentListDialog.show(getSupportFragmentManager(), "");
//            }
//        });
//        videoAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
//            @Override
//            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
//                if(ClickHelper.isFastDoubleClick()){
//                    return;
//                }
//                DtDetailModel item = videoAdapter.getItem(position);
//                switch (view.getId()) {
//                    case R.id.llBottom://弹出评论框
//                        if (isLogin()) {
//                            CommentStartDialog commentStartDialog = new CommentStartDialog(mContext);
//                            commentStartDialog.setOnCommentClickListener(new CommentStartDialog.OnCommentClickListener() {
//                                @Override
//                                public void onSendClick(String content, String pic, List<AtUser> atUsers) {
//                                    SheQuHttpService.sendComment(mContext, item.id, content, pic, atUsers, new DialogCallback<CommentModel>(mContext) {
//                                        @Override
//                                        public void onSuccess(CommentModel data) {
//                                            ToastUtils.show("评论成功");
//                                            //局部更新
//                                            if(data!=null){
//                                                item.commentList.add(0,data);
//                                                item.commentsCount = item.commentsCount+1;
//                                                changListItemUi(position, item);
//                                            }
//                                            //refreshData(position, item.id);
//                                            commentStartDialog.dismiss();
//                                        }
//                                    });
//                                }
//                            });
//                            commentStartDialog.showDialog();
//                        }
//                        break;
//                }
//            }
//        });
//    }
//
//
//    private void startVideo() {
//        //GSYVideoManager.releaseAllVideos();
//        new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
//            @Override
//            public void run() {
//                View viewByPosition = layoutManager.findViewByPosition(mPosition);
//                if (viewByPosition != null) {
//                    MyGsyVideo2 videoPlayer = viewByPosition.findViewById(R.id.videoPlayer);
//                    videoPlayer.setLooping(true);
//                    if (videoPlayer.getCurrentState() == GSYVideoView.CURRENT_STATE_PAUSE) {
//                        videoPlayer.onVideoResume();
//                    } else {
//                        videoPlayer.startPlayLogic();
//                    }
//                }
//            }
//        }, 100);
//    }
//
//    /**
//     * 关注/取消关注改变事件
//     */
//    @Subscribe(threadMode = ThreadMode.MAIN)
//    public void onShequUserFollowChangeEvent(ShequUserFollowChangeEvent event) {
//        if(videoAdapter!=null) {
//            //改变同一个用户关注状态
//            List<DtDetailModel> data = videoAdapter.getData();
//            for(int i=0;i<data.size();i++){
//                DtDetailModel org = data.get(i);
//                if(TextUtils.equals(org.createUser,event.userId)){
//                    org.isFocusOn = event.isguanzhu;
//                }
//            }
//            if(data.size()>mPosition){
//                changListItemUi(mPosition,data.get(mPosition));
//            }
//        }
//    }
//
//
//    @Override
//    protected void onStop() {
//        super.onStop();
//        GSYVideoManager.onPause();
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        GSYVideoManager.releaseAllVideos();
//       /* if (commentListDialog != null) {
//            commentListDialog.onDestroy();
//        }*/
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        if (layoutManager != null) {
//            startVideo();
//        }
//    }
//
//
//    /**
//     * 更新某条数据
//     * @param id
//     */
//    public void refreshData(int position, String id) {
//        SheQuHttpService.getPicDetail(mContext, id, new HttpCallback<DtDetailModel>() {
//            @Override
//            public void onSuccess(DtDetailModel data) {
//                if (DataUtils.verifyAndUpdateData(videoAdapter.getData(), data)) {
//                    changListItemUi(position, data);
//                }
//            }
//
//            @Override
//            public void onError(Throwable e) {
//            }
//        });
//    }
//
//    /**
//     * @param position list的位置
//     * @param model    改变的数据
//     */
//    private void changListItemUi(int position, DtDetailModel model) {
//        if (layoutManager != null) {
//            View viewByPosition = layoutManager.findViewByPosition(position);
//            if (viewByPosition != null) {
//                DtVideoContentView contentView = viewByPosition.findViewById(R.id.contentView);
//                if(contentView!=null) {
//                    contentView.setData(model,false);
//                }
//            }
//        }
//    }
//
//    @Override
//    public void reTry() {
//        getFirstVideoData();
//    }
//
//    @Override
//    public void onClick(View v) {
//        switch (v.getId()){
//            case R.id.ivBack:
//                finish();
//                break;
//            case R.id.ivDot:
//                EditDialog editDialog = new EditDialog(mContext);
//                editDialog.setListener(new EditDialog.EditClickListener() {
//                    @Override
//                    public void onClickDelete() {
//                        editDialog.dismiss();
//                        new AppAlertDialog.Builder(mContext)
//                                .setContent("确认删除该动态？")
//                                .setPositiveButton(new AppAlertDialog.DialogClickListener() {
//                                    @Override
//                                    public void onClick(View v, AppAlertDialog dialog) {
//                                        SheQuHttpService.deleteDt(mContext, videoAdapter.getData().get(mPosition).id, new DialogCallback<String>(mContext) {
//                                            @Override
//                                            public void onSuccess(String data) {
//                                                ToastUtils.show("删除成功");
//                                                dialog.dismiss();
//                                                finish();
//                                            }
//                                        });
//                                    }
//                                }).show();
//
//                    }
//                });
//                editDialog.show();
//                break;
//        }
//    }
//
//
//
//}